Adjoint Code Design Patterns
نویسنده
چکیده
Adjoint methods have become fundamental ingredients of the scientific computing toolbox over the past decades. Large-scale parameter sensitivity analysis, uncertainty quantification and nonlinear optimization as well as modern approaches to deep learning would otherwise turn out computationally infeasible. For nontrivial real-world problems the algorithmic derivation of adjoint numerical simulation programs quickly becomes a highly complex software engineering task requiring expertise in software analysis, transformation and optimization. Despite rather mature software tool support for algorithmic differentiation substantial user intervention is typically required. A large number of patterns shared by numerous application codes results in repeated duplication of development effort. The adjoint code design patterns discussed in this talk based on [8] aim to reduce this problem through improved formalization from the software engineering perspective.
منابع مشابه
Topological Design Based on Highly Efficient Adjoints Generated by Automatic Differentiation
We report on a proof-of-concept study for the application of an automatically generated adjoint Navier-Stokes code in the automotive design process. The design application consists in the optimisation of the topology of a duct for the cabin ventilation. The numerical model is a three-dimensional Navier-Stokes solver based on Griebel’s NaSt2D. The design approach is based on a descent algorithm,...
متن کاملAdjoint Algorithmic Differentiation Tool Support for Typical Numerical Patterns in Computational Finance
We demonstrate the flexibility and ease of use of C++ algorithmic differentiation (AD) tools based on overloading to numerical patterns (kernels) arising in computational finance. While adjoint methods and AD have been known in the finance literature for some time, there are few tools capable of handling and integrating with the C++ codes found in production. Adjoint methods are also known to b...
متن کاملAdjoint-based Unsteady Airfoil Design Optimization with Application to Dynamic Stall
This paper presents the development and application of an adjoint-based optimization method to designing airfoils with the objective of alleviating dynamic stall effects in helicopter rotor blades. The unsteady flow problem is simulated using the NSU2D code, which is a two-dimensional unsteady, viscous, turbulent Reynolds averaged Navier-Stokes (RANS) finite-volume solver. The corresponding adj...
متن کاملIdentifying Useful Variables for Vehicle Braking Using the Adjoint Matrix Approach to the Mahalanobis-Taguchi System
The Mahalanobis Taguchi System (MTS) is a diagnosis and forecasting method for multivariate data. Mahalanobis distance (MD) is a measure based on correlations between the variables and different patterns that can be identified and analyzed with respect to a base or reference group. MTS is of interest because of its reported accuracy in forecasting small, correlated data sets. This is the type o...
متن کاملTowards a Tool for Forward and Reverse Mode Source-to-Source Transformation in C/C++
The paper presents a feasibility study for TAC++, the C/C++equivalent of Transformation of Algorithms in Fortran (TAF). The goal of this study is to design an AD-tool capable of generating the adjoint of a simple but non-trivial C code. The purpose of this new tool is threefold: First, we demonstrate the feasibility of reverse mode differentiation in C. Second, we will use the experience from t...
متن کامل